计算机组成原理 | 您所在的位置:网站首页 › 11010^11011 › 计算机组成原理 |
(一)课内习题
1.
(二)课后练习 1.写出下列各整数的原码、反码和补码表示(用8位二进制表示)。其中MSB是最高位(符号位),LSB是最低位。 (1)-35 (2) -128 (3)-127 (4)-1 答:(1)-35 原: 1011 0101 反:1100 1010 补码:1100 1011 (2) -128 在八位二进制下,-128不能用原码或反码表示,反码只能表示0到127,-0到-127; 补码:1000 0000 (3)-127 原: 1111 1111 反:1000 0000 补码:1000 0001 (4)-1 原: 1000 0001 反:1111 1110 补码:1111 1111 2.设[X]补=a7.a6 a5··· a0 ,其中ai 取0或1, 若要X>-0.5,求a0 a1 a2 ··· a7 的取值。答: 若a7 =0,则X为正数,显然a0··· a6取任何值均可。 若a7 =1,则X为负数,[X]移=0. a6 a5 ··· a0 ∵ -0.5D = -0.100000B,则[-0.5D ]移=0.100000 ∴ 若要X>-0.5,即等价于[X]移> [-0.5D ]移 即0. a6 a5··· a0>0.100000,因此必须是a5··· a0不全为0。 结论: 如果a7 =0, a6··· a0取任何值均可; 如果a7 =1 ,必须满足a6 =1 且a5··· a0不全为0。 3.有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示,尾数23位,用补码表示,基数为2,请写出:(1)最大数的二进制表示 (2)最小数的二进制表示 (3)规格化数所能表示的数的范围。 答: (1)0111 1111 1111 1111 1111 1111 1111 1111 (2)1111 1111 1110 0000 0000 0000 0000 0000 (3)1111111111 0111111111111111111111~0111111111 1000000000000000000000 4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。 (1) 27/64 (2) -27/64答: 5.已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。 (1)X= 11011 Y= 00011 (2)X= 11011 Y= - 10101 (3)X=- 10110 Y=- 00001 答: (1)先写出x和y的变形补码再计算它们的和 [x]补= 0011011 [y]补=0000011 [x+y]补=[x]补+[y]补=0011011+0000011=0011110 ∴ x+y= 11110B 无溢出。 (2)先写出x和y的变形补码再计算它们的和 [x]补= 0011011 [y]补=1101011 [x+y]补=[x]补+[y]补=0011011+1101011= 0000110 ∴ x+y= 0110B 无溢出。 (3)先写出x和y的变形补码再计算它们的和 [x]补=1101010 [y]补=1111111 [x+y]补=[x]补+[y]补=1101010+1111111=1101001 ∴ x+y= - 10111B,无溢出。 6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。 (1) X= 11011 Y= - 11111 (2) X= 10111 Y= 11011 (3) X= 11011 Y=- 10011答: (1)先写出x和y的变形补码,再计算它们的差 [x]补=0011011 [y]补=1100001 [-y]补=0011111 [x-y]补=[x]补+[-y]补=0011011+0011111=0111010 ∵运算结果双符号不相等 ∴ 为正溢出 X-Y=+11010B (2)先写出x和y的变形补码,再计算它们的差 [x]补=0010111 [y]补=0011011 [-y]补=1100101 [x-y]补=0010111+1100101=1111100 ∴ x-y= -00100B 无溢出 (3)先写出x和y的变形补码,再计算它们的差 [x]补=0011011 [y]补=1101101 [-y]补=0010011 [x-y]补=[x]补+[-y]补=0011011+0010011=0101110 ∵运算结果双符号不相等 ∴ 为正溢出 X-Y=+10111B 7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。 (1)X= 11011 Y= -11111 (2)X=- 11111 Y=- 11011答: 8. 9. 10. 解: 11.某加法器进位链小组信号为C4C3C2C1,低位来的进位信号为C0,请分别按下述两种方式写出C4C3C2C1逻辑表达式。(1)串行进位方式 (2)并行进位方式 12.用IEEE32位浮点格式表示如下的数: (1)-5 (2)-1.5 (3)384 (4)1/16 (5)-1/32 答:对于所有的数,我们可以将它们表示为以下的形式:(-1)^S × (1.M )× 2^(E-127) 其中S是符号位,M是尾数部分23位,也称为小数部分或分数部分),E是指数部分。注意:我们不直接存储前面的“1.”,而是隐式地将它包含在内。这被称为隐藏的位——相当于节省一个位的存储。 答案: (1)-5:11000000101000000000000000000000 (2)-1.5: 10111111110000000000000000000000 (3)384:01000011110000000000000000000000 (4)1/16:00111101100000000000000000000000 (5)-1/32 :10111101000000000000000000000000 示例: -1/32 先转化成小数 -0.03125 S = 1 (因为数字是负数)把-0.03125写成二进制形式: -0.00001转换为规范化的形式: 1.0×2−51.0×2−5 E = -5 + 127 = 122 = 01111010 (二进制形式)M = 0 (后面用0填充)结果:10111101000000000000000000000000 13.下列各数使用了IEEE32位浮点格式,相等的十进制是什么? (1)1 10000011 110 0000 0000 0000 00000000 (2)0 01111110 101 0000 0000 0000 00000000答案: (1) 1 10000011 110 0000 0000 0000 00000000 由上题可知,S = 1 (意味着数是负的) E = 10000011 (二进制) = 131 (十进制) M = 110 0000 0000 0000 00000000 = 0.75 所以,该数值为: (−1)1×(1.75)×2(131−127)(−1)1×(1.75)×2(131−127) = -1.75 * 2^4 = -28 (2) 0 01111110 101 0000 0000 0000 00000000 S = 0 (意味着数是正的) E = 01111110 (二进制) = 126 (十进制) M = 101 0000 0000 0000 00000000 = 0.625 所以,该数值为: (−1)0×(1.625)×2(126−127)(−1)0×(1.625)×2(126−127) = 1.625 * 2^-1 = 0.8125 因此,给定的两个IEEE 32位浮点数对应的十进制数分别为-28和0.8125。 14.32位格式最多能表示2^32个不同的数。用IEEE32位浮点格式最多能表示多少不同的数?为什么? 15.设计一个带有原码阵列乘法器(使用芯片)和原码阵列除法器(使用芯片)的定点运算器。 16.设计一个ALU(4位),完成加、减、取反、取补、逻辑乘、逻辑加、传送、加1等8种运算功能。 |
CopyRight 2018-2019 实验室设备网 版权所有 |